package com.google.code.p.restrpc.client.serial;

import com.google.code.p.restrpc.RpcRequest;
import com.google.code.p.restrpc.TransferFormat;
import com.google.code.p.restrpc.http.HttpRequestCallback;
import com.google.code.p.restrpc.http.HttpResponseCallback;
import com.google.code.p.restrpc.http.ResponseErrorHandler;

/**
 * @author dz
 */
public interface FormatSerializationProvider {
    
    /**
     * @return
     */
    public TransferFormat getSupportedFormat();
    
    /**
     * @return
     */
    public HttpRequestCallback getHttpRequestCallback(RpcRequest rpcRequest);
    
    /**
     * @return
     */
    public HttpResponseCallback getHttpResponseCallback();
    
    /**
     * @return
     */
    public ResponseErrorHandler getErrorHandler();
    
}
